package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 项目信息对象 project_information
 *
 * @author zhangjinlei
 * @date 2022-04-25
 */
public class ProjectInformation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目序号 */
    private Long id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目种类:0-单人赛，1-双人赛，3-团体赛 */
    @Excel(name = "项目种类:0-单人赛，1-双人赛，3-团体赛")
    private Long projectType;

    /** 比赛地点 */
    @Excel(name = "比赛地点")
    private String competitionSite;

    /** 赛事开始时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "赛事开始时间", width = 30)
    private Date actionTime;

    /** 已报名人数 */
    @Excel(name = "已报名人数")
    private Long applicationNumber;

    /** 备注 */
    private String extField;

    /** 备注子段1 */
    private String extField1;

    /** 备注子段2 */
    private String extField2;

    /** 是否删除 0-未删除 ，1-已删除 */
    private Integer isDeleted;

    /** 创建人ID */
    private Long createUserid;

    /** 创建人姓名 */
    private String createUsername;

    /** 服务器IP */
    private String serverIp;

    /** 最后修改人ID */
    private Long updateUserid;

    /** 最后修改人姓名 */
    private String updateUsername;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date startTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProjectType(Long projectType)
    {
        this.projectType = projectType;
    }

    public Long getProjectType()
    {
        return projectType;
    }
    public void setCompetitionSite(String competitionSite)
    {
        this.competitionSite = competitionSite;
    }

    public String getCompetitionSite()
    {
        return competitionSite;
    }
    public void setActionTime(Date actionTime)
    {
        this.actionTime = actionTime;
    }

    public Date getActionTime()
    {
        return actionTime;
    }
    public void setApplicationNumber(Long applicationNumber)
    {
        this.applicationNumber = applicationNumber;
    }

    public Long getApplicationNumber()
    {
        return applicationNumber;
    }
    public void setExtField(String extField)
    {
        this.extField = extField;
    }

    public String getExtField()
    {
        return extField;
    }
    public void setExtField1(String extField1)
    {
        this.extField1 = extField1;
    }

    public String getExtField1()
    {
        return extField1;
    }
    public void setExtField2(String extField2)
    {
        this.extField2 = extField2;
    }

    public String getExtField2()
    {
        return extField2;
    }
    public void setIsDeleted(Integer isDeleted)
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted()
    {
        return isDeleted;
    }
    public void setCreateUserid(Long createUserid)
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid()
    {
        return createUserid;
    }
    public void setCreateUsername(String createUsername)
    {
        this.createUsername = createUsername;
    }

    public String getCreateUsername()
    {
        return createUsername;
    }
    public void setServerIp(String serverIp)
    {
        this.serverIp = serverIp;
    }

    public String getServerIp()
    {
        return serverIp;
    }
    public void setUpdateUserid(Long updateUserid)
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid()
    {
        return updateUserid;
    }
    public void setUpdateUsername(String updateUsername)
    {
        this.updateUsername = updateUsername;
    }

    public String getUpdateUsername()
    {
        return updateUsername;
    }


    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectName", getProjectName())
            .append("projectType", getProjectType())
            .append("competitionSite", getCompetitionSite())
            .append("actionTime", getActionTime())
            .append("applicationNumber", getApplicationNumber())
            .append("extField", getExtField())
            .append("extField1", getExtField1())
            .append("extField2", getExtField2())
            .append("isDeleted", getIsDeleted())
            .append("createUserid", getCreateUserid())
            .append("createUsername", getCreateUsername())
            .append("createTime", getCreateTime())
            .append("serverIp", getServerIp())
            .append("updateUserid", getUpdateUserid())
            .append("updateUsername", getUpdateUsername())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
